6.08. Автоматизация тестирования
Роль автоматизации и тестовых фреймворков
Что такое автотест
Зачем нужно автоматическое тестирование
Как работает автоматическое тестирование
Автоматизация не заменяет тестирование, но значительно повышает его эффективность в повторяющихся, объёмных или требующих точности сценариях. Выбор фреймворка зависит от языка, уровня тестирования и архитектуры системы:
- Unit: JUnit (Java), NUnit (C#), pytest (Python), Jest/Mocha (JS/TS)
- Интеграционные/API: RestAssured (Java), Supertest (Node.js), Postman + Newman
- E2E/UI: Selenium WebDriver, Cypress, Playwright, WebdriverIO
- Производительность: JMeter, Gatling, k6
- Безопасность: OWASP ZAP, Burp Suite (частично автоматизированы)
Современные фреймворки поддерживают:
- декларативное написание тестов;
- встроенные механизмы ассертов;
- генерацию отчётов и интеграцию с CI/CD (GitHub Actions, GitLab CI, Jenkins);
- параллельный запуск и ретраи;
- работу с моками и заглушками (через Sinon, Mockito и др.).
Онлайн-песочницы, такие как CodePen, JSFiddle, JSBin, не предназначены для полноценного тестирования, но полезны для быстрой верификации фрагментов клиентского кода, демонстрации багов или совместной отладки. Они не заменяют локальные или CI-среды, но служат вспомогательным инструментом в коммуникации.